$(function() {
	$("input[name='language']").eq(0).attr("checked", 'checked');
	$("#hostEndAt").datetimepicker({
		format : 'YYYY-MM-DD',
		locale : moment.locale('zh-CN'),
		showClose : true, // 是否显示关闭 按钮
		viewMode : 'days',// 天数模块展示，months则为以月展示
		daysOfWeekDisabled : false,// 星期几 禁止选择,参数 [num],多个逗号隔开
		calendarWeeks : false, // 显示 周 是 今年第几周
		toolbarPlacement : 'default', // 工具摆放的位置，top 则为上，默认为底
		showTodayButton : false, // 是否工具栏 显示 直达今天天数的 按钮，默认false
		showClear : false, // 是否 工具栏显示 清空 输入框 的按钮。默认false
		minDate : moment().format('YYYY-MM-DD')
	});

	$(".g-submit").click(function() {
		// 添加
		var param = getData();
		if (!param) {
			return;
		}
		$("body").mLoading("show");
		request.jpost('/backend/customermanage/append/ajax', param, function(response, data) {
			if (data && data.id && parseInt(data.id) > 0) {
				$(".g-reset").click();
			}
		}, null, function() {
			$("body").mLoading("hide");
		})
	});
	$(".g-reset").click(function() {
		// 重置
		$("input[name='username']").val("");
		$("input[name='passwordHash']").val("Ab123456");
		$("input[name='name']").val("");
		$("input[name='phone']").val("");
		$("input[name='email']").val("");
		$("input[name='hostName']").val("我的站点");
		$("select[name='hostTypeId']").val("0");
		$("select[name='hostServerId']").val("0");
		$("select[name='hostReview']").val("0");
		$("select[name='hostTrial']").val("0");
		$("input[name='language']").eq(0).attr("checked", 'checked');
	});
});

function getData() {
	var username = $.trim($("input[name='username']").val());
	var passwordHash = $.trim($("input[name='passwordHash']").val());
	var name = $.trim($("input[name='name']").val());
	var phone = $.trim($("input[name='phone']").val());
	var email = $.trim($("input[name='email']").val());
	var hostName = $.trim($("input[name='hostName']").val());
	var hostTypeId = $.trim($("select[name='hostTypeId']").val());
	var hostServerId = $.trim($("select[name='hostServerId']").val());
	var hostReview = $.trim($("select[name='hostReview']").val());
	var hostTrial = $.trim($("select[name='hostTrial']").val());
	var hostEndAt = $.trim($("input[name='hostEndAt']").val());
	var language = $("input[name='language']:checked");
	var languageIds = [];
	for (var i = 0; i < language.length; i++) {
		languageIds.push($(language[i]).val());
	}

	if (username === '') {
		mylayer.error('登录用户名不能为空！ ');
		$("input[name='username']").focus();
		return;
	}

	if (username.length < 4) {
		mylayer.error('登录用户名不能小于4个字符！ ');
		$("input[name='username']").focus();
		return;
	}

	if (username.length > 64) {
		mylayer.error('登录用户名不能超过64个字符！ ');
		$("input[name='username']").focus();
		return;
	}
	
	if (!/^\w+$/.test(username)) {
		mylayer.error('用户名只能是数字、字母，不能含有空格以及其他特殊字符！ ');
		$("input[name='username']").focus();
		return;
	}

	if (passwordHash === '') {
		mylayer.error('登录密码不能为空！ ');
		$("input[name='passwordHash']").focus();
		return;
	}

	if (passwordHash.length > 32) {
		mylayer.error('登录密码不能超过32个字符！ ');
		$("input[name='passwordHash']").focus();
		return;
	}

	if (name === '') {
		mylayer.error('用户昵称不能为空！ ');
		$("input[name='name']").focus();
		return;
	}

	if (name.length > 32) {
		mylayer.error('用户昵称不能超过32个字符！ ');
		$("input[name='name']").focus();
		return;
	}

	if (hostName === '') {
		mylayer.error('站点名称不能为空！ ');
		$("input[name='hostName']").focus();
		return;
	}

	if (hostName.length > 32) {
		mylayer.error('站点名称不能超过32个字符！ ');
		$("input[name='hostName']").focus();
		return;
	}

	hostServerId = parseInt(hostServerId);
	if (isNaN(hostServerId) || hostServerId < 1) {
		mylayer.error('请选择 分控服务器 ！ ');
		return;
	}

	hostTypeId = parseInt(hostTypeId);
	if (isNaN(hostTypeId) || hostTypeId < 1) {
		mylayer.error('请选择 站点类型 ！ ');
		return;
	}

	if (hostEndAt === '') {
		mylayer.error('请选择到期日期 ！ ');
		$("#hostEndAt .input-group-addon").click();
		return;
	}

	if (languageIds.length < 1) {
		mylayer.error('至少选择一个语言版本！ ');
		return;
	}

	return {
		username : username,
		passwordHash : passwordHash,
		name : name,
		phone : phone,
		email : email,
		hostName : hostName,
		hostTypeId : hostTypeId,
		hostServerId : hostServerId,
		hostReview : hostReview,
		hostTrial : hostTrial,
		hostEndAt : hostEndAt,
		languageIds : languageIds
	};
}